'\" t
.\"     Title: mmmdoc
.\"    Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\"      Date: 01/15/2010
.\"    Manual: \ \&
.\"    Source: \ \& 0.2.63.0
.\"  Language: English
.\"
.TH "MMMDOC" "1" "01/15/2010" "\ \& 0\&.2\&.63\&.0" "\ \&"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
mmmdoc \- HTML documentation generator for \&.NET assemblies
.SH "SYNOPSIS"
.sp
\fBmmmdoc\fR [\fIOPTIONS\fR] \-\-out=dir assembly,xml\-file
.SH "DESCRIPTION"
.sp
The documentation is generated using a \&.NET assembly and the XML file generated by compilers (e\&.g\&. via gmc\(cqs \-doc option) for that assembly\&. The assembly,xml\-file pair may appear more than once\&.
.SH "OPTIONS"
.PP
\fB\-\-css\fR=\fIDIR\fR
.RS 4
A directory containing css files which will be appended onto the default css files\&. These should be named the same as the corresponding generated css file (e\&.g\&. "namespaces\-file\&.css")\&.
.RE
.PP
\fB\-\-dicts\fR=\fIDIR\fR
.RS 4
Path to a directory containing hunspell *\&.dic and *\&.aff files\&. The search path for hunspell dictionary is:
.sp
.RS 4
.ie n \{\
\h'-04' 1.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  1." 4.2
.\}
The directory named by \-\-dicts (if present)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 2.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  2." 4.2
.\}
The directory the mmmdoc assembly is in\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 3.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  3." 4.2
.\}
The value of the DICPATH environment variable (if present)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 4.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  4." 4.2
.\}
/usr/share/hunspell
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 5.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  5." 4.2
.\}
/usr/share/myspell
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 6.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  6." 4.2
.\}
/usr/share/myspell/dicts
.RE
.RE
.PP
\fB\-\-expand\-tabs\fR=\fICOUNT\fR
.RS 4
Number of spaces used to expand tabs within code elements\&. Defaults to three\&. If zero tabs are not expanded\&.
.RE
.PP
\fB\-\-extra\-dict\fR=\fIFILE\fR
.RS 4
Names an extra dictionary used when spell checking\&. This is a line oriented text file\&. Blank lines are ignored, if the first character in a line is a
\fI#\fR
then the line is a comment\&. Otherwise the line contains a user word optionally followed by whitespace and a similar known word\&. Hunspell will use the known word to generate affixes for the user word (e\&.g\&. \-s or \-ness)\&.
.RE
.PP
\fB\-h, \-?, \-\-help\fR
.RS 4
Writes a summary of the available options to stdout and exits\&.
.RE
.PP
\fB\-\-language\fR=\fINAME\fR
.RS 4
The name of a language plus locale\&. This is used by hunspell when spell checking and to initialize the language tag in the HTML\&. If it is omitted the value of the LANGUAGE environment variable is used\&. If there is no LANGUAGE variable en_US is used\&.
.RE
.PP
\fB\-o, \-\-out\fR=\fIDIR\fR
.RS 4
The directory into which the generated HTML files are placed\&. This is a required option\&.
.RE
.PP
\fB\-\-see\-also\fR=\fINAMED_URL\fR
.RS 4
The value should be an URL, followed by a space, and then a name\&. This option may be used multiple times\&. When it is used a see also section will appear at the bottom of table of content frames\&.
.RE
.PP
\fB\-\-verbose\fR
.RS 4
Causes progress information to be written to stdout\&. May be used more than once to cause even more information to be written\&.
.RE
.PP
\fB\-\-version\fR
.RS 4
Writes the mmmdoc version number (0\&.2\&.63\&.0) to stdout and exits\&.
.RE
.PP
\fB\-\-visibility\fR=\fIexternal | internal | all\fR
.RS 4
Controls which types are included in the generated documentation\&. By default only types with external visibility (i\&.e\&. public types) are included\&.
.RE
.PP
\fB\-\-warn\-if\-missing\fR
.RS 4
Write a warning to stderr if documentation is missing for a type or method\&.
.RE
.SH "TAGS"
.sp
Here is some information about the standard XML documentation tags:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}

http://www\&.winnershtriangle\&.com/w/Articles\&.XMLCommentsInCSharp\&.asp
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}

http://blogs\&.msdn\&.com/ansonh/archive/2006/09/11/750056\&.aspx
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}

http://msdn\&.microsoft\&.com/en\-us/library/b2s063f7%28VS\&.71%29\&.aspx
.RE
.sp
In addition mmmdoc supports a handful of custom tags:
.PP
\fB<a href = "http://some\&.server/snazzy\&.html">Snazzy</a>\fR
.RS 4
Inserts a hyperlink to an external URL\&.
.RE
.PP
\fB<exclude/>\fR
.RS 4
Used to exclude a type or member from the generated documentation\&.
.RE
.PP
\fB<exclude\-if\-empty/>\fR
.RS 4
Used to exclude a type from the generated documentation if it has no members which are in the generated documentation\&.
.RE
.sp
XML documentation cannot be added to namespaces so mmmdoc allows you to place them onto a special type named \fINamespaceDoc\fR instead\&.
.SH "EXAMPLES"
.sp
The simplest possible usage looks like this:
.sp
.if n \{\
.RS 4
.\}
.nf
mmmdoc \-\-out=docs mylib\&.dll,mylibdocs\&.xml
.fi
.if n \{\
.RE
.\}
.sp
Here is a more complex example which uses a custom dictionary:
.sp
.if n \{\
.RS 4
.\}
.nf
mmmdoc \-\-out=docs \-\-extra\-dict=mobjc\&.dict \-\-see\-also=\'http://code\&.google\&.com/p/mobjc/w/list mobjc\' \-\-see\-also=\'http://code\&.google\&.com/p/mcocoa/w/list mcocoa\' bin/mobjc\&.dll,bin/docs\&.xml
.fi
.if n \{\
.RE
.\}
.sp
The mobjc\&.dict file looks like this:
.sp
.if n \{\
.RS 4
.\}
.nf
# Used by mmmdoc to spellcheck the help comments\&.
alloc
arity
autorelease
descendent
Ffi
ivar
mcocoa      cocoa
mobjc
namespace   space
nullary
pre
stderr
struct
typeof
.fi
.if n \{\
.RE
.\}
.SH "ENVIRONMENT"
.sp
If hunspell 1\&.2 is installed then mmmdoc will try to use it to spell check words in the documentation comments\&. If hunspell cannot be used mmmdoc will write a warning to stderr\&. Misspelled words are written to stderr along with the name of the code element they belong to\&.
.sp
The LANGUAGE and DICPATH environment variables are used while spell checking\&. See above for details\&.
.SH "BUGS"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The include tag is not supported\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The only output format currently supported is HTML\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Mmmdoc has not been tested with \&.NET, but it should work\&...
.RE
.SH "AUTHOR"
.sp
Written by Jesse Jones, <jesjones@mindspring\&.com>
